package com.gdit.framework.common.util;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 时间格式化工具
 * @author HBIN8668
 *
 */
public class DateUtil {

	public final static String YYYY_MM_DD = "yyyy-MM-dd";
	
	public final static String YYYY_MM_DD_HH_mm_SS = "yyyy-MM-dd";
	
	public final static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
	
	public static SimpleDateFormat  ymd = null;
	
	public static SimpleDateFormat  ymdhms = null;
	
	static{
		ymd = new SimpleDateFormat(YYYY_MM_DD);
		ymdhms =  new SimpleDateFormat(YYYYMMDDHHMMSS);
	}
	
	/**
	 * 格式化时间，返回字符串
	 * @param date如果为空则为当前时间
	 * @return 返回给定时间的YYYY-MM-DD格式的字符串
 	 */
	public static String getCurrentDate(Date date){
		return date==null?ymd.format(new Date()):ymd.format(date);
	}
	
	/**
	 * 格式化时间，返回字符串
	 * @param date如果为空则为当前时间
	 * @return 返回给定时间的yyyyMMddHHmmss格式的字符串
 	 */
	public static String getFullDateStr(Date date){
		return date==null?ymdhms.format(new Date()):ymdhms.format(date);
	}
	
	/**
	 * 要所指定时间与格式返回时间字符串
	 * @param format 指定返回时间字符串的格式，如yyyy-MM-dd
	 * @param date 要格式化的时间，默认为当前时间
	 * @return
	 */
	public static String getDateStr(String format,Date date){
		return new SimpleDateFormat(format).format(date==null?new Date():date);
	}
	
}
